/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.fyx.secure.ejb;

import java.util.Set;
import javax.ejb.Remote;
import org.fyx.secure.entity.SecureUser;

/**
 *
 * @author xljan
 */
@Remote
public interface SecureRemote extends Secure {

    /**
     * Autorizuje uzivatele. Overi zda-li existuje uzivatelske jmeno
     * a odpovida heslo.
     * Uzivatele nastavi jako prihlaseneho, tzn. nastavi do FyxContext.
     * Pokud se uzivatele nepodari z jakychkoluv duvodu aurorizovat,
     * vyvrhne vyjimku AuthorizeFailException.
     * @param user uzivatel pro autorizaci
     * @throws AuthorizeFailException uzivatele nebylo mozne autorizovat.
     */
    boolean authorizeRemote(SecureUser user)
            throws AuthorizeFailException;
    
    /**
     * Autentizuje uzivatele v systemu a vrati jeho uzivatelska prava.
     */
    Set<String> autentizeRemote();
}
